#ifndef __COLA_POSIX_H__
#define __COLA_POSIX_H__

#include <fcntl.h>
#include <sys/stat.h>
#include <mqueue.h>
#include <iostream>
#include <stdio.h>

#include "excepciones/excepcion_cola.h"
#include "mensaje.h"

#define COLA_MSG_MAX_SIZE 1024

class Cola{
    private:
    mqd_t descriptor;
    std::string nombre;
  
public:
    Cola();
    void conectar(std::string nombre) throw();
    void enviar(Mensaje &m) throw();
    Mensaje recibir() throw();
    void cerrar();
    void destruir();
    void setNoBloqueante(bool estado);
    ~Cola();
};

#endif //__COLA_POSIX_H__
